home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CUCD / Graphics / Plotter3D / Install-Plotter3D < prev    next >
Text File  |  1998-03-07  |  24KB  |  792 lines

  1. ; $VER: Install-Plotter3D 3.30 (07.03.98)
  2.  
  3. ;##############################################################################
  4. ; Localize
  5. ;
  6.  
  7. (if (= @language "deutsch")
  8.   (
  9.     (set #wrongversion
  10.       (cat "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  11.               "auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
  12.               "Bitte überprüfen Sie Ihre Konfiguration!"
  13.     ))
  14.  
  15.     (set #update "Update")
  16.     (set #abort  "Abbrechen")
  17.  
  18.     (set #welcome_full (cat
  19.       "\n"
  20.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  21.       "\n"
  22.       "Plotter3D ist Freeware, daß heißt es kann frei  \n"
  23.       "vertrieben werden, solange keinerlei Profit     \n"
  24.       "damit gemacht wird und das Archiv unverändert   \n"
  25.       "bleibt.                                         \n"
  26.       "\n"
  27.       "Neue Versionen können aus dem AmiNet bezogen    \n"
  28.       "werden, Updates oder aktuelle Version können    \n"
  29.       "von meiner Homepage geladen werden:             \n"
  30.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  31.       "\n"
  32.       "                            Sven Steiniger, 1998\n"
  33.     ))
  34.     (set #welcome_beta (cat
  35.       "\n"
  36.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  37.       "\n"
  38.       "Sie installieren gerade eine BETA-Version von   \n"
  39.       "Plotter3D! Bitte legen sie erst eine Kopie Ihres\n"
  40.       "'Plotter3D:'-Verzeichnisses an.                 \n"
  41.       "Falls Sie irgendwelche Fehler finden, schicken  \n"
  42.       "Sie bitte eine EMail mit dem Schlüsselwort      \n"
  43.       "'Plotter3D-Bug' im Subjekt-Feld an folgende     \n"
  44.       "Adresse:                                        \n"
  45.       "   ss37@inf.tu-dresden.de                       \n"
  46.       "\n"
  47.       "                           Danke, Sven Steiniger\n"
  48.     ))
  49.     (set #welcome_update (cat
  50.       "\n"
  51.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  52.       "\n"
  53.       "Sie installieren gerade ein Update zu Plotter3D!\n"
  54.       "Es muß schon eine Vollversion von Plotter3D v3.x\n"
  55.       "auf ihrem System installiert sein. Die aktuelle \n"
  56.       "Version kann aus dem AmiNet geladen werden      \n"
  57.       "(gfx/3d/Plotter3D.lha).                         \n"
  58.       "\n"
  59.       "                            Sven Steiniger, 1998\n"
  60.     ))
  61.     (set #error_beta (cat
  62.       "\n"
  63.       "Dieses Archiv enthält nur ein Update (beta-     \n"
  64.       "Version) von Plotter3D!                         \n"
  65.       "Es scheint, daß noch keine Vollversion auf Ihrem\n"
  66.       "System installiert ist. Darum kann Ich kein     \n"
  67.       "Update durchführen.                             \n"
  68.       "\n"
  69.       "Die neuste Vollversion kann entweder aus dem    \n"
  70.       "AmiNet oder von meiner Homepage                 \n"
  71.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  72.       "bezogen werden.                                 \n"
  73.     ))
  74.  
  75.     (set #installing "Installiere %s...")
  76.     (set #cleaning   "Räume auf...")
  77.  
  78.     (set #cp_main   "Installiere Hauptprogramm 'Plotter3D'.")
  79.     (set #cp_docs   "Installiere Documentation.")
  80.     (set #cp_libs   "Installiere Libraries.")
  81.     (set #cp_locale "Installiere Sprachen.")
  82.     (set #cp_funcs  "Kopiere Beispiel-Funktionen.")
  83.     (set #cp_mats   "Kopiere Beispiel-Materialen.")
  84.     (set #cp_lights "Kopiere Beispiel-Lightquellen.")
  85.     (set #cp_datas  "Kopiere Beispiel-Daten.")
  86.     (set #cp_pals   "Kopiere Standard-Farbpaletten.")
  87.     (set #cp_images "Kopiere Bilder für Werkzeugleiste.")
  88.     (set #cp_prefs  "Kopiere Voreinstellungen.")
  89.     (set #cp_tools  "Kopiere Tools.")
  90.  
  91.     (set #ask_update  "Plotter3D ist schon auf ihrem System installiert.\nSie können diese Installation updaten oder abbrechen.")
  92.     (set #ask_docs    "Bitte wählen Sie die Sprache(n) für die AmigaGuide Dokumentation aus.")
  93.     (set #ask_locale  "Bitte wählen Sie die Sprache(n) aus, die Sie installieren wollen.")
  94.     (set #ask_funcs   "Bitte wählen Sie die zu installierenden Beispiele aus.\n(Empfohlen: Alle)")
  95.     (set #ask_drawers "Bitte wählen Sie die Verzeichnisse aus, die kopiert werden sollen.\n(Empfohlen: Alle)")
  96.     (set #ask_others  "Bitte wählen Sie die Dateien aus, die kopiert werden sollen.")
  97.     (set #ask_clean1  (cat
  98.       "Das Dateiformat für Paletten und     \n"
  99.       "Bilder hat sich geändert. Sollen die \n"
  100.       "alten Dateien gelöscht werden, wenn  \n"
  101.       "sie doppelt vorhanden sind? (sowohl  \n"
  102.       "im neuen als auch im alten Format)   \n"
  103.     ))
  104.     (set #ask_clean2  (cat
  105.       "The tools 'ConvertPalette' und 'ILBM2Chunky'\n"
  106.       "wurden aus dem Archiv entfernt. Sie wurden  \n"
  107.       "durch die Programme 'ChunkyMaster' und      \n"
  108.       "'PalettesMaster' ersetzt.                   \n"
  109.       "Sollen die alten Programme gelöscht werden? \n"
  110.     ))
  111.  
  112.     (set #destdir "Bitte wählen Sie einen Platz für Plotter3D. Ein Verzeichnis namens 'Plotter3D' wird dort automatisch erzeugt.")
  113.     (set #startup "Einige Kommandos werden zu ihrer \"s:user-startup\" Datei gefügt.")
  114.  
  115.     (set #user_abort "Fehler: Abbruch durch den Benutzer.")
  116.     (set #copyerror  "Fehler: Verzeichnis/Datei \"%s\" fehlt!\nEs kann sein das Plotter3D nach der Installation nicht oder nicht korrekt funktioniert.")
  117.  
  118.     (set #answer_yes "Ja")
  119.     (set #answer_no  "Nein")
  120.  
  121.   )
  122.   (
  123.     (set #wrongversion
  124.          (cat "You have an old version of the program 'Installer' "
  125.               "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  126.               "Please check your configuration!"
  127.     ))
  128.  
  129.     (set #update "Update")
  130.     (set #abort  "Abort")
  131.  
  132.     (set #welcome_full (cat
  133.       "\n"
  134.       "Welcome to the Plotter3D installation program.  \n"
  135.       "\n"
  136.       "Plotter3D is Freeware, means it can be spread   \n"
  137.       "freely as long as no profit is made and the     \n"
  138.       "archive is not modified.                        \n"
  139.       "\n"
  140.       "You can get new versions from AmiNet. Updates   \n"
  141.       "and actual beta-versions can be downloaded from \n"
  142.       "my homepage at:                                 \n"
  143.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  144.       "\n"
  145.       "                            Sven Steiniger, 1998\n"
  146.     ))
  147.     (set #welcome_beta (cat
  148.       "\n"
  149.       "Welcome to the Plotter3D installation program.  \n"
  150.       "\n"
  151.       "You are installing an BETA-version of Plotter3D!\n"
  152.       "Please make a copy of your 'Plotter3D:'         \n"
  153.       "directory first.                                \n"
  154.       "If you find any bugs please mail to:            \n"
  155.       "   ss37@inf.tu-dresden.de                       \n"
  156.       "with subject field containing 'Plotter3D-Bug'   \n"
  157.       "\n"
  158.       "                          Thanks, Sven Steiniger\n"
  159.     ))
  160.     (set #welcome_update (cat
  161.       "\n"
  162.       "Welcome to the Plotter3D installation program.  \n"
  163.       "\n"
  164.       "You are installing an Update of Plotter3D!      \n"
  165.       "It needs an fully installed version of          \n"
  166.       "Plotter3D v3.xx. You can get the lastest package\n"
  167.       "from AmiNet (gfx/3d/Plotter3D.lha).             \n"
  168.       "\n"
  169.       "                            Sven Steiniger, 1998\n"
  170.     ))
  171.     (set #error_beta (cat
  172.       "\n"
  173.       "This archive only contains an update (beta-     \n"
  174.       "version) of Plotter3D!                          \n"
  175.       "It seems you have not installed an full version \n"
  176.       "on your system therefore I could not make an    \n"
  177.       "update.                                         \n"
  178.       "\n"
  179.       "You can get the latest full version either from \n"
  180.       "your local AmiNet-site or from my homepage:     \n"
  181.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  182.     ))
  183.  
  184.     (set #installing "Installing %s...")
  185.     (set #cleaning   "Cleaning up...")
  186.  
  187.     (set #cp_main   "Installing main program 'Plotter3D'.")
  188.     (set #cp_docs   "Installing documentation.")
  189.     (set #cp_libs   "Installing libraries.")
  190.     (set #cp_locale "Installing languages.")
  191.     (set #cp_funcs  "Copying example functions.")
  192.     (set #cp_mats   "Copying example materials.")
  193.     (set #cp_lights "Copying example lightsources.")
  194.     (set #cp_datas  "Copying example datas.")
  195.     (set #cp_pals   "Copying standard colorpalettes.")
  196.     (set #cp_images "Copying toolbar images.")
  197.     (set #cp_prefs  "Copying preferences.")
  198.     (set #cp_tools  "Copying tools.")
  199.  
  200.     (set #ask_update  "Plotter3D is already installed on your system.\nYou can make an update or abort.")
  201.     (set #ask_docs    "Select the language(s) of AmigaGuide documentations you wish to install.")
  202.     (set #ask_locale  "Select the language(s) you wish to install.")
  203.     (set #ask_funcs   "Select the examples you wish to install.\n(Recommended: All)")
  204.     (set #ask_drawers "Select the drawers you wish to copy.\n(Recommended: All)")
  205.     (set #ask_others  "Select the files you wish to copy.")
  206.     (set #ask_clean1  (cat
  207.       "The file format of palettes and      \n"
  208.       "pictures has been changed. Should the\n"
  209.       "old files be deleted if they exists  \n"
  210.       "twice?                               \n"
  211.     ))
  212.     (set #ask_clean2  (cat
  213.       "The tools 'ConvertPalette' and 'ILBM2Chunky'\n"
  214.       "have been removed from the archive. Instead \n"
  215.       "More powerful tools called 'PalettesMaster' \n"
  216.       "and 'ChunkyMaster' have been included.      \n"
  217.       "Should I delete the old tools?              \n"
  218.     ))
  219.  
  220.     (set #destdir "Please select a place for the Plotter3D package. A drawer called 'Plotter3D' will be created here.")
  221.     (set #startup "Some commands will be added to your \"s:user-startup\" file.")
  222.  
  223.     (set #user_abort "Error: User abort.")
  224.     (set #copyerror  "Error: Directory/File \"%s\" is missed!.\nIt is possible that Plotter3D does not work properly after installation.")
  225.  
  226.     (set #answer_yes "Yes")
  227.     (set #answer_no  "No")
  228.  
  229.  
  230.   )
  231. )
  232.  
  233. ;##############################################################################
  234. ; start
  235. (if (< @installer-version 2752521)
  236.   (
  237.     (message #wrongversion)
  238.     (working (#installing "Installer"))
  239.     (copylib
  240.       (source "Installer")
  241.       (dest "C:")
  242.       (optional "force" "askuser")
  243.     )
  244.     (exit (quiet))
  245.   )
  246. )
  247.  
  248. (copylib
  249.   (source "InstallTools/asyncio.library")
  250.   (dest "LIBS:")
  251.   (nogauge)
  252.   (optional "nofail")
  253. )
  254.  
  255.  
  256. ;#############################################################################
  257. ; procedure P_MakeDir
  258. ; creates a new drawer and copies the icon.
  259. ;
  260. ; #spath - source path
  261. ; #name  - name of drawer
  262.  
  263. (procedure P_MakeDir #pm_path #pm_name
  264.   (
  265.     (if (not (exists (tackon @default-dest (tackon #pm_path #pm_name)) (noreq)))
  266.       (
  267.         (makedir (tackon @default-dest (tackon #pm_path #pm_name)))
  268.       )
  269.     )
  270.     (P_CopyIcon #pm_path #pm_name @copy-help FALSE)
  271.   )
  272. )
  273.  
  274. ;##############################################################################
  275. ; procedure P_CopyDir
  276. ; copies a whole directory including all subdirectories. If an file exists
  277. ; it is not overwritten if it has an higher version.
  278. ;
  279. ; #cp_name      - name of directory
  280. ; #cp_help      - text shown during copy
  281. ; #cp_overwrite - if TRUE then files without version are overwritten
  282.  
  283. (procedure P_CopyDir #cp_name #cp_help #cp_overwrite
  284.   (
  285.     (if (exists #cp_name)
  286.       (
  287.         (working ("%s\n(%s/)" #cp_help #cp_name))
  288.         (foreach #cp_name "~(#?.info)"
  289.           (
  290.             (if (< @each-type 0)
  291.               (
  292.                 (set cd_source (tackon #cp_name @each-name))
  293.                 (set cd_dest   (tackon (tackon @default-dest #cp_name) @each-name))
  294.                 (if (exists cd_dest)
  295.                   (
  296.                     (set cd_doit FALSE)
  297.                     (set cd_version (GETVERSION cd_dest))
  298.                     (if cd_version
  299.                       (if (> (GETVERSION cd_source) cd_version) (set cd_doit TRUE))
  300.                       (if #cp_overwrite (set cd_doit TRUE))
  301.                     )
  302.                   )
  303.                   (set cd_doit TRUE)
  304.                 )
  305.                 (if cd_doit (P_CopyFile #cp_name @each-name #cp_help))
  306.               )
  307.             )
  308.           )
  309.        )
  310.       )
  311.       (if (not #v_update) (message (#copyerror #cp_name) (all)))
  312.     )
  313.   )
  314. )
  315.  
  316. ;##############################################################################
  317. ; procedure P_CopyFile
  318. ; copies a file
  319. ;
  320. ; #cf_path   - path of file
  321. ; #cf_name   - name of file
  322. ; #cf_prompt - text for prompt
  323. ;
  324. (procedure P_CopyFile #cf_path #cf_name #cf_prompt
  325.   (
  326.     (if (exists (tackon #cf_path #cf_name))
  327.       (
  328.         (copyfiles
  329.           (prompt #cf_prompt)
  330.           (help   @copyfiles-help)
  331.           (source (tackon #cf_path #cf_name))
  332.           (dest   (tackon @default-dest #cf_path))
  333.           (nogauge)
  334.         )
  335.         (P_CopyIcon #cf_path #cf_name #cf_prompt FALSE)
  336.       )
  337.       (if (not #v_update) (message (#copyerror (tackon #cf_path #cf_name)) (all)))
  338.     )
  339.   )
  340. )
  341.  
  342. ;##############################################################################
  343. ; procedure P_CopyLib
  344. ; copies a file
  345. ;
  346. ; #cl_path   - path of file
  347. ; #cl_name   - name of file
  348. ; #cl_prompt - text for prompt
  349. ;
  350. (procedure P_CopyLib #cl_path #cl_name #cl_prompt
  351.   (
  352.     (if (exists (tackon #cl_path #cl_name))
  353.       (
  354.         ;(copylib
  355.         ;  (prompt #cl_prompt)
  356.         ;  (help   @copylib-help)
  357.         ;  (source (tackon #cl_path #cl_name))
  358.         ;  (dest   (tackon @default-dest #cl_path))
  359.         ;)
  360.         (working (#cl_prompt))
  361.         (run
  362.           ("InstallTools/UpDateCopy FROM \"%s\" TO \"%s\" QUIET DEEP"
  363.             (tackon #cl_path #cl_name)
  364.             (tackon @default-dest #cl_path)
  365.           )
  366.           (prompt #cl_prompt)
  367.           (help   @copylib-help)
  368.         )
  369.         (P_CopyIcon #cl_path #cl_name #cl_prompt FALSE)
  370.       )
  371.       (if (not #v_update) (message (#copyerror (tackon #cl_path #cl_name)) (all)))
  372.     )
  373.   )
  374. )
  375.  
  376.  
  377. ;##############################################################################
  378. ; procedure P_CopyIcon
  379. ; copies an icon
  380. ;
  381. ; #ci_path   - path of icon
  382. ; #ci_name   - name of icon (without .info)
  383. ; #ci_prompt - text for prompt
  384. ;
  385. (procedure P_CopyIcon #ci_path #ci_name #ci_prompt #ci_necessary
  386.   (
  387.     (set ci_file (tackon #ci_path #ci_name))
  388.     (set ci_icon (cat ci_file ".info"))
  389.  
  390.     (if (exists ci_icon)
  391.       (
  392.         (if (exists (tackon @default-dest ci_icon))
  393.           (
  394.             (iconinfo
  395.               (dest (tackon @default-dest ci_file))
  396.               (getposition "#ci_xp" "#ci_yp")
  397.             )
  398.             (copyfiles
  399.               (prompt #ci_prompt)
  400.               (help   @copyfiles-help)
  401.               (source ci_icon)
  402.               (dest   (tackon @default-dest #ci_path))
  403.               (nogauge)
  404.             )
  405.             (tooltype
  406.               (dest (tackon @default-dest ci_file))
  407.               (setposition #ci_xp #ci_yp)
  408.             )
  409.           )
  410.           (copyfiles
  411.             (prompt #ci_prompt)
  412.             (help   @copyfiles-help)
  413.             (source ci_icon)
  414.             (dest (tackon @default-dest #ci_path))
  415.             (nogauge)
  416.           )
  417.         )
  418.       )
  419.       (
  420.         (if (and #ci_necessary (not #v_update))
  421.           (message (#copyerror ci_icon) (all))
  422.         )
  423.       )
  424.     )
  425.   )
  426. )
  427.  
  428. ;##############################################################################
  429. ; procedure P_CleanDir
  430. ; Scans a directory for double files (differs only in suffix)
  431. ;
  432. ; #cld_name      - name of directory
  433. ; #cld_help      - text shown during copy
  434. ; #cld_good      - suffix of good files
  435. ; #cld_bad       - suffix of bad files
  436. ;
  437. (procedure P_CleanDir #cld_name #cld_help #cld_good #cld_bad
  438.   (
  439.     (if (exists #cld_name)
  440.       (foreach #cld_name (cat "#?." #cld_good)
  441.         (if (< @each-type 0)
  442.           (
  443.             (set cld_dest
  444.               (tackon
  445.                 #cld_name
  446.                 (cat
  447.                   (substr
  448.                     @each-name
  449.                     0
  450.                     (- (strlen @each-name) (strlen #cld_good))
  451.                   )
  452.                   #cld_bad
  453.                 )
  454.               )           
  455.             )
  456.             (if (exists cld_dest) (delete cld_dest))
  457.           )
  458.         )
  459.       )
  460.     )
  461.   )
  462. )
  463.  
  464. ;(procedure P_UserAbort
  465. ;  (
  466. ;    (ABORT #user_abort)
  467. ;  )
  468. ;)
  469.  
  470.  
  471. ;##############################################################################
  472. ; global variables
  473.  
  474. (set ul_novice  0)
  475. (set ul_average 1)
  476. (set ul_expert  2)
  477.  
  478. ; last_choice contains the result of the last askoptions-call
  479. (set last_choice       0)
  480.  
  481. (set #v_update   FALSE)
  482. (set #v_partly   FALSE)
  483. (set #v_docs     -1)
  484. (set #v_locale   -1)
  485. (set #v_examples -1)
  486. (set #v_extra    -1)
  487. (set #v_others   -1)
  488.  
  489. ;##############################################################################
  490. ; check beta or update-version.
  491. (if (exists "Beta.readme")
  492.   (
  493.     (message #welcome_beta)
  494.     (set #v_partly TRUE)
  495.   )
  496.   (if (exists "Update.readme")
  497.     (
  498.       (message #welcome_update)
  499.       (set #v_partly TRUE)
  500.     )
  501.     (message #welcome_full)
  502.   )
  503. )
  504. (welcome)
  505.  
  506.  
  507. ;##############################################################################
  508. ; get destination path
  509. (if (exists "plotter3d:" (noreq))
  510.   (
  511.     (set @default-dest (expandpath "plotter3d:/"))
  512.     (set #v_update TRUE)
  513.     (if (not #v_partly)
  514.       (if (not (askbool 
  515.             (prompt  #ask_update)
  516.             (choices #update #abort)
  517.             (help    @askbool-help)
  518.           ))
  519.         (exit (quiet))
  520.       )
  521.     )
  522.   )
  523.   (if #v_partly
  524.     (
  525.       (message #error_beta)
  526.       (exit (quiet))
  527.     )
  528.     (
  529.       (set @default-dest
  530.         (askdir
  531.           (prompt  #destdir)
  532.           (help    @askdir-help)
  533.           (default @default-dest)
  534.         )
  535.       )
  536.       (set @default-dest (expandpath @default-dest))
  537.     )
  538.   )
  539. )
  540.  
  541. ;##############################################################################
  542. ; documentation
  543.  
  544. (if (>= @user-level ul_average)
  545.   (set #v_docs
  546.     (askoptions
  547.       (prompt  #ask_docs)
  548.       (default #v_docs)
  549.       (help    @askoptions-help)
  550.       (choices
  551.         "English"
  552.         "Deutsch"
  553.       )
  554.     )
  555.   )
  556. )
  557.  
  558. ;##############################################################################
  559. ; Locale
  560.  
  561. (if (>= @user-level ul_average)
  562.   (set #v_locale
  563.     (askoptions
  564.       (prompt  #ask_locale)
  565.       (default #v_locale)
  566.       (help    @askoptions-help)
  567.       (choices
  568.         "English (built-in)"
  569.         "Deutsch"
  570.         "Français"
  571.     "Español"
  572.       )
  573.     )
  574.   )
  575. )
  576.  
  577. ;##############################################################################
  578. ; examples
  579.  
  580. (if (>= @user-level ul_expert)
  581.   (set #v_examples
  582.     (askoptions
  583.       (prompt  #ask_funcs)
  584.       (default #v_examples)
  585.       (help    @askoptions-help)
  586.       (choices
  587.         "Functions"
  588.         "Materials"
  589.         "Lightsources"
  590.         "Palettes"
  591.         "Datas"
  592.       )
  593.     )
  594.   )
  595. )
  596.  
  597. ;##############################################################################
  598. ; extra
  599.  
  600. (if (>= @user-level ul_expert)
  601.   (set #v_extra
  602.     (askoptions
  603.       (prompt  #ask_drawers)
  604.       (default #v_extra)
  605.       (help    @askoptions-help)
  606.       (choices
  607.         "Imagebuttons"
  608.         "Preferences"
  609.         "Tools"
  610.       )
  611.     )
  612.   )
  613. )
  614.  
  615. ;##############################################################################
  616. ; others
  617.  
  618. (if (>= @user-level ul_average)
  619.   (set #v_others
  620.     (askoptions
  621.       (prompt  #ask_others)
  622.       (default #v_others)
  623.       (help    @askoptions-help)
  624.       (choices
  625.         "Preview picture"
  626.       )
  627.     )
  628.   )
  629. )
  630.  
  631. ;##############################################################################
  632. ; go
  633.  
  634. (complete 0)
  635.  
  636. (if (not #v_update)
  637.   (
  638.     (makedir
  639.       (tackon @default-dest "Plotter3D")
  640.       (help   @makedir-help)
  641.     )
  642.     (copyfiles
  643.       (help   @copyfiles-help)
  644.       (source "/Plotter3D.info")
  645.       (dest   @default-dest)
  646.     )
  647.     (tooltype
  648.       (dest (tackon @default-dest "Plotter3D"))
  649.       (noposition)
  650.     )
  651.   )
  652. )
  653. (complete 10)
  654.  
  655. (set @default-dest (tackon @default-dest "Plotter3D"))
  656.  
  657. ;##############################################################################
  658. ; copy Main Program
  659.  
  660. (P_CopyLib "" "Plotter3D" #cp_main)
  661.  
  662.  
  663. (P_MakeDir "" "Libs")
  664. (P_CopyDir "Libs" #cp_libs TRUE)
  665. (P_MakeDir "Libs" "Dither")
  666. (P_CopyDir "Libs/Dither" #cp_libs TRUE)
  667.  
  668. (complete 20)
  669.  
  670. ;##############################################################################
  671. ; copy documentation
  672.  
  673. (P_MakeDir "" "Docs")
  674. (P_CopyFile "Docs" "History" #cp_docs)
  675. (P_CopyFile "Docs" "Bugs"    #cp_docs)
  676. (P_CopyFile "Docs" "ToDo"    #cp_docs)
  677.  
  678. (if (IN #v_docs 0) ( (P_MakeDir "Docs" "English") (P_CopyDir "Docs/English" #cp_docs TRUE)))
  679. (if (IN #v_docs 1) ( (P_MakeDir "Docs" "Deutsch") (P_CopyDir "Docs/Deutsch" #cp_docs TRUE)))
  680.  
  681. (complete 30)
  682.  
  683. ;##############################################################################
  684. ; copy Locale
  685.  
  686. (if (> #v_locale 1)
  687.   (
  688.     (makedir (tackon @default-dest "Catalogs"))
  689.     (if (IN #v_locale 1) ( (P_CopyDir "Catalogs/Deutsch"  #cp_locale TRUE) ))
  690.     (if (IN #v_locale 2) ( (P_CopyDir "Catalogs/Français" #cp_locale TRUE) ))
  691.     (if (IN #v_locale 3) ( (P_CopyDir "Catalogs/Español" #cp_locale TRUE) ))
  692.   )
  693. )
  694. (complete 40)
  695.  
  696. ;##############################################################################
  697. ; install functions etc.
  698.  
  699. (if (IN #v_examples 0) ( (P_MakeDir "" "Functions") (P_CopyDir "Functions" #cp_funcs  TRUE)))
  700. (if (IN #v_examples 1) ( (P_MakeDir "" "Materials") (P_CopyDir "Materials" #cp_mats   FALSE)))
  701. (if (IN #v_examples 2) ( (P_MakeDir "" "Lights"   ) (P_CopyDir "Lights"    #cp_lights FALSE)))
  702. (if (IN #v_examples 3) ( (P_MakeDir "" "Palettes" ) (P_CopyDir "Palettes"  #cp_pals   FALSE)))
  703. (if (IN #v_examples 4) ( (P_MakeDir "" "Datas"    ) (P_CopyDir "Datas"     #cp_datas  FALSE)))
  704.  
  705. (complete 50)
  706.  
  707. ;##############################################################################
  708. ; copy extra drawers
  709.  
  710. (if (IN #v_extra 0) ( (P_MakeDir "" "Images") (P_CopyDir "Images" #cp_images TRUE)))
  711. (if (IN #v_extra 1) ( (P_MakeDir "" "Prefs" ) (P_CopyDir "Prefs"  #cp_prefs FALSE)))
  712. (if (IN #v_extra 2) ( (P_MakeDir "" "Tools" ) (P_CopyDir "Tools"  #cp_tools TRUE)))
  713.  
  714. (complete 60)
  715.  
  716. ;##############################################################################
  717. ; copy other datas
  718.  
  719. (if (IN #v_others 0) (P_CopyFile "" "PreviewPic" @copyfiles-help))
  720.  
  721. (complete 80)
  722.  
  723. ;##############################################################################
  724. ; Cleanup 1
  725.  
  726. (if #v_update
  727.   (if (>= @user-level ul_expert)
  728.     (if (askbool
  729.           (prompt  #ask_clean1)
  730.           (help    @askbool-help)
  731.           (choices
  732.             #answer_yes
  733.             #answer_no
  734.           )
  735.         )
  736.       (
  737.         ; remove double palettes
  738.         (P_CleanDir (tackon @default-dest "Palettes") #cleaning "cpal" "pal256") 
  739.         ; remove double pictures
  740.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "chunky") 
  741.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "pal256") 
  742.       )
  743.     )
  744.   )
  745. )
  746.  
  747. (complete 87)
  748.  
  749. ;##############################################################################
  750. ; Cleanup 2
  751.  
  752. (if #v_update
  753.   (if (>= @user-level ul_expert)
  754.     (if (askbool
  755.           (prompt  #ask_clean2)
  756.           (help    @askbool-help)
  757.           (choices
  758.             #answer_yes
  759.             #answer_no
  760.           )
  761.         )
  762.       (
  763.         (delete (tackon @default-dest "Tools/ConvertPalette") 
  764.            (infos)
  765.         )
  766.         (delete (tackon @default-dest "Tools/ILBM2Chunky") 
  767.            (infos)
  768.         )
  769.       )
  770.     )
  771.   )
  772. )
  773.  
  774. (complete 95)
  775.  
  776. ;##############################################################################
  777. ; startup-sequence
  778.  
  779. (if (not #v_update)
  780.   (startup "Plotter3D"
  781.     (prompt  #startup)
  782.     (help    @startup-help)
  783.     (command "assign Plotter3D: \"" @default-dest "\"")
  784.     (confirm "expert")
  785.   )
  786. )
  787.  
  788. (makeassign "Plotter3D" @default-dest)
  789.  
  790. (complete 100)
  791.